/*
  排队
  题目描述
    小杨所在班级共有 n 位同学，依次以 1, 2, …, n 标号。
    这 n 位同学想排成一行队伍，其中有些同学之间关系非常好，在队伍里需要排在相邻的位置。
    具体来说，有 m 对这样的关系（m 是一个非负整数）。
    当 m ≥ 1 时，第 i 对关系（1 ≤ i ≤ m）给出 ai, bi，表示排队时编号为 ai 的同学需要排在编号为 bi 的同学前面，并且两人在队伍中相邻。

    现在小杨想知道总共有多少种排队方式。由于答案可能很大，你只需要求出答案对 10^9 + 7 取模的结果。
  输入格式
    第一行，两个整数 n, m，分别表示同学们的数量与关系数量。
    接下来 m 行，每行两个整数 ai, bi，表示一对关系。
  输出格式
    一行，一个整数，表示答案对 10^9 + 7 取模的结果。
  输入输出样例
    输入 #1复制
      4 2
      1 3
      2 4
    输出 #1复制
      2
    输入 #2复制
      3 0
    输出 #2复制
      6
    输入 #3复制
      3 2
      1 2
      2 1
    输出 #3复制
      0
   说明/提示
      对于 20% 的测试数据点，保证 1 ≤ n ≤ 8，0 ≤ m ≤ 10。
      对于另外 20% 的测试数据点，保证 1 ≤ n ≤ 10^3，0 ≤ m ≤ 1。
      对于所有测试数据点，保证 1 ≤ n ≤ 2 × 10^5，0 ≤ m ≤ 2 × 10^5。
*/